1. The Field of the Invention
The present invention relates to remote monitoring of computer systems. More particularly, the present invention relates to methods, systems, and computer program products for remotely monitoring diverse computer systems in a similar manner, over an out-of-band communication channel.
2. Background and Related Art
Remote monitoring of computer systems is desirable for a variety of reasons, including centralization of support personnel, enhanced access to computer systems that are difficult to reach physically, and to reduce space requirements and expenses by allowing for headless systems. For example, computer systems may be located under ground, in cramped closets, on towers or poles, or at distant locations; computer systems may be more densely placed in racks of servers if monitors, video cards, keyboard, mouse, etc. are eliminated; and even for relatively small organizations, certain support functions may be more efficiently performed if support personnel are not required to move from one physical location to another.
Remote computer systems often include an in-band communication channel for monitoring the computer system and an out-of-band communication channel for use when the in-band communication channel is unavailable, such as from a hardware or software problem or because the computer system is booting. The in-band communication channel is typically a network connection using standard management protocols, such as Simple Network Management Protocol (“SNMP”), in the monitoring process. From the perspective of a user managing the remote computer system, the in-band connection almost makes it appear as if the user were managing a local computer system.
In many circumstances, however, using standard management protocols over in-band communication channels offers a somewhat inflexible monitoring solution. For example, standard management protocols tend to impose rigid format requirements that limit backwards compatibility when the protocols are extended. As a result, managing heterogeneous remote systems may prove difficult or impossible. Standard management protocols also tend to be limited in their ability to communicate complete and/or complex state information. For example, standard management protocols usually communicate only discrete changes in state information, as opposed to a complete representation of current state information. Accordingly, unless a monitoring system tracks each and every discrete change, it may be difficult to obtain an accurate picture of a remote system's current state.
Another problem with standard management protocols is the close coupling required between the remote system and the monitoring system. Monitoring systems generally must be configured to understand and interpret the data sent by a remote system, so that when data is received from a remote system, the monitoring system can first know what the data means, and second take an appropriate action. When taking an appropriate action, standard management protocols usually do not send commands to be executed at a remote computer system, but rather are able to control the remote computer system through manipulation of the relevant data structures. It should also be noted that standard management protocols typically favor a particular transport, and therefore may be limited to networks where the particular transport is supported and available.
Due to the sophistication of in-band communication channels, however, they generally are available only after a remote system has booted its operating system, and are vulnerable to a variety of software and hardware problems. To account for unavailability of the in-band communication channel, remote computer systems typically have an out-of-band communication channel that supports more limited monitoring capabilities. The out-of-band communication channel often is implemented as a serial channel that supports simple terminal emulation. Unlike standardized in-band communication channels, however, out-of-band communication channels usually supply information in a system specific format, which makes monitoring diverse remote computer systems difficult. For example, when using an out-of-band communication channel, the commands used to query, control, and/or configure a remote computer system and the remote system's responses tend to vary from one computer system to another. In some implementations, out-of-band communication is tied to specific information appearing at specific screen positions.
Accordingly, management computers for diverse remote computer systems usually maintain a fair amount of software for interacting with the out-of-band communication channels for the various remote computer systems being monitored. Because differences in computer systems are frequently manifested in traditional out-of-band communication channels, remote management generally requires a significant amount of human interaction, and in many circumstances, automated monitoring simply is not practical. Furthermore, even where similar computer systems are monitored, hardware and software upgrades to remote systems are likely to impact conventional out-of-band communication channels and require some level of corresponding changes at the management computer system. Therefore, methods, systems, and computer program products for remotely monitoring diverse computer systems in a similar manner, over an out-of-band communication channel are desired.